home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / prog / super30a.zip / SMUPDATE.TXT < prev    next >
Text File  |  1992-05-13  |  39KB  |  964 lines

  1. ===============================================================================
  2. This is a list of improvements, fixes, etc. since the original
  3. release of Programmer's SUPER-MAINT version 1.0 (August 1990).
  4. ===============================================================================
  5.  
  6. Version 3.00
  7. ===============================================================================
  8.  
  9. 5/13/92  SM        Fixed ctrl-c handler problem
  10.  
  11. 5/11/92  SM        Fixed wanton pointers
  12.  
  13. 5/7/92   SM        Changed "REM" comment line indicator to "REM " so
  14.             action blocks with files starting with "REM" will not
  15.             be skipped.
  16.  
  17. 5/6/92   SM        Replaced swap and file find function code with 
  18.             improved versions.
  19.  
  20. 5/5/92   SM             Added *RSMF command.  You use this to change the
  21.             symbol SM reads to tell it the linker response file
  22.             is to be used.  This allows you to use the '@' symbol
  23.             for other response files, as when using multiple
  24.             response files in TCC or BCC.  Example:  *RSMF |^|
  25.  
  26. 4/15/92  SM        Fixed bug in response file writing:  now SM strips
  27.             file extensions if present and takes all extensions 
  28.             from the template (if specified), instead of using 
  29.             explicit extensions from the make file.
  30.  
  31. 4/14/92  SM        Small bug:  -l was reporting debugging flag use the
  32.             opposite of its true use.
  33.  
  34. 4/6/92   SETUP        Converted to new user interface.
  35.  
  36. 4/4/92   SM          Better swap function installed, ctrl-z handling
  37.             problem fixed.
  38.  
  39. 3/7/92   SM        Fixed counting bug when building libs:  if all objs
  40.             exist and lib is earlier than objs (and source) lib
  41.             is built.
  42.  
  43. 3/7/92   SM             Enabled ALLBUT keywords in *CRFC command
  44.  
  45. 3/7/92   SM        Fixed script processing in compiler command group
  46.             for non *CRFC commands
  47.  
  48. 3/6/92   SM        *T now works in Compiler Response Files
  49.             *CE sets the extension of compiler response files
  50.             Fixed *RC problem
  51.  
  52. 3/6/92   SM        Statements in #included .smf files are now parsed
  53.             in the first pass.
  54.  
  55. 3/6/92   SM        Fixed bug in library counting for linking.  Blank !L
  56.             statements are not used, and count is adjusted for
  57.             star macro libs when there are no !L libs.
  58.  
  59. 3/5/92   SM        *RC in a command group overrides the *RC in the general
  60.             commands IF that command group is being used in a 
  61.             build.
  62.  
  63. 3/5/92   SM        Fixed Bug:  *LN and *LE no longer wipe each other out.
  64.  
  65. 3/5/92   SM        Fixed bug:  SM no longer puts a blank library
  66.             in a response file if the startup code macro definition
  67.             is blank
  68.  
  69. 3/5/92   SM        Fixed bug in compiler res file command line
  70.             building.
  71.  
  72. 3/5/92   SME        Fixed bug that caused SME to not include the
  73.             path of the first dependent (and the file to be
  74.             acted upon).
  75.  
  76. 3/2/92   SM         If SM causes a compiler, linker or librarian to
  77.             build a zero byte file, SM erases it.  In library
  78.             building SM also goes back, reparses the make file,
  79.             and rebuilds the library correctly.
  80.  
  81. 2/22/92  SM        SM was erasing libraries from the default directory
  82.             if it was being asked to move it to a directory that
  83.             didn't exist.  It no longer erases the working version 
  84.             in the default directory if there's nowhere to move it.
  85.  
  86. 2/22/92  SM        *NE (in template.sm) assigns a specific extension to
  87.             linker response files (as long as -lr+ is being used
  88.             to build them on the fly).  This is similar to the
  89.             *LE statement, which sets the extension for library
  90.             response files.  Example:
  91.  
  92.             *NE |RES|
  93.  
  94. 2/20/92  SME        Added a feature in Settings to not write def file 
  95.             information.  When it is not present in a make file
  96.             SM defaults to the *DN template information, so that
  97.             sould be set.  In Microsoft it is set:
  98.             *DN |nul.def|
  99.  
  100. 2/20/92  SM        Fixed bugs!
  101.  
  102. 2/19/92  SM        When setting the environmental variables SUPERMACRO and
  103.             SUPERIF you no longer use an = sign.  Instead you use
  104.             a colon.  The colon MUST have a space before and after 
  105.             it.  The first example will work, the second won't.
  106.  
  107.             Good Example:  SET SUPERMACRO=MAC1 : D:\CODE
  108.             Bad Example:   SET SUPERMACRO=MAC1:D:\CODE
  109.  
  110. 2/19/92  SM        Added ; as a valid comment sign.  It must be in the
  111.             extreme left position on a line.
  112.  
  113. 2/19/92  SM        Turned off cursor during SM operation.
  114.  
  115. 2/19/92  SME        Finally found and fixed the directory display bug.  
  116.             Thanks Dave and Mike!
  117.  
  118. 2/18/92  SME        Added "Special Libraries" to the "Libraries" menu
  119.             in the "Setup" menu.  If a text editor has been 
  120.             assigned you can edit the special libraries list
  121.             from within SME.
  122.  
  123. 2/18/92  SME        Added "Special Library" list (SPECLIBS.SM).  Libraries
  124.             listed in this list will be added to the libraries to 
  125.             be linked when building programs for each memory model.
  126.             For example, if you list MYLIB.LIB in the list it will
  127.             appear in the make time three times - once for each of
  128.             the three memory models SME can handle:
  129.  
  130.             !LF1 MYLIBS.LIB
  131.             !LF2 MYLIBM.LIB
  132.             !LF3 MYLIBL.LIB
  133.  
  134.             These are linked after the libraries listed in the
  135.             explicit library lists (Libs 1, 2, 3), so if you need
  136.             a library to be linked first it should appear at the 
  137.             top of those lists.
  138.  
  139. 2/18/92  SME        Rewrote make file writing functions to reflect the 
  140.             changes in make file syntax over the past few weeks.
  141.  
  142. 2/18/92  SM, SME    Comments now must be preceded with "//" or "REM" (not
  143.             case sensitive.  Although most comments will work 
  144.             without these symbols, there are now too many symbols
  145.             that SM and SME look for (: - / . and so on) for it
  146.             to be safe to write make file comments without 
  147.             explicitly indicating they are not commands.  
  148.             In both cases the comment symbol must start a line
  149.             with no spaces before them.    Examples:
  150.  
  151.             // This is a comment
  152.             REM This is a comment
  153.             rem this is a comment
  154.  
  155. 2/18/92  SM        Fixed small bug in *TEMPLATE command.
  156.  
  157. 2/18/92  SM        When building a compiler response file SM limits the
  158.             number of files to 100 (to stay within the limit of
  159.             some compilers).  If there are more than 100 files
  160.             to process SM keeps building response files of
  161.             up to 100 files, making as many calls to the compiler
  162.             as are necessary.
  163.  
  164. 2/18/92  SM        SM now accepts a single level of #include make files.
  165.             Thus you can write partial make files and include
  166.             them in a master make file.  When using the #include
  167.             directive there must be no spaces at the beginning of 
  168.             the line, or between "#" and "include".  Example: 
  169.             #include make2.smf
  170.  
  171.             Any #includes in the secondary make file are ignored.
  172.  
  173.             IMPORTANT NOTE: If you use #includes the #endstatements
  174.             directive (if used) MUST be beneath the first #include
  175.             directive.  If SM finds an #include statement first it
  176.             ignores the #endstatements directive.  Remember that
  177.             #endstatements ends the first pass through the make
  178.             file UNLESS an #include statement has been found first.
  179.  
  180. 2/18/92  SM        Fixed a bug in file name sensing when creating a 
  181.             command line for compiler response style building.
  182.  
  183. 2/17/92  SM        In the link command block you can now use libraries
  184.             as dependents as well as TNAMES.  TNAMES must be the 
  185.             first dependent.  After that library names must be 
  186.             enclosed in [square brackets].  Any dependent besides
  187.             tnames and libraries are ignored.  If debugging (-d+)
  188.             SM will use the debugging library if there is one, 
  189.             otherwise it defaults to the non-debugging version
  190.             of the same library.
  191.  
  192.             To take full advantage of this feature you use a star
  193.             macro.  You can do this by first defining a macro for
  194.             the library name, and by making sure the *LIBAPPEND_ 
  195.             statement is at the top of your make file.  So if
  196.             you have defined LIBNAME = MYLIB, the star macro will
  197.             know to append the memory model letters defined in
  198.             the *LIBAPPEND statement, depending on which model you 
  199.             are using.  In the command block the library dependent
  200.             would look like this:  [$(*LIBNAME)]
  201.  
  202. 2/16/92  SM        Fixed spacing so only one space is used even if there
  203.             are more than one in the make file.
  204.  
  205. 2/16/92  SM        Added the SUPERIF environment variable.  Use this
  206.             the same way SUPERMACRO is used for setting macros
  207.             in the environment.  Each value set should be separated
  208.             from the next by a semicolon.  Example:
  209.  
  210.             SET SUPERIF=TEST1 ; TEST2=4; TEST3=myvalue
  211.  
  212. 2/16/92  SM        NOTE!!!! #directives and $(MACROS) are two separate 
  213.             things.  Directives can not check macros, and vice 
  214.             versa.  Use the #error directive to check whether
  215.             directive conditions are set.  If you fail to set
  216.             a macro before using it SM automatically exits with
  217.             an error.
  218.  
  219. 2/16/92  SM        New flags added for using libraries as dependents when
  220.             building an executable.  As noted before you may use
  221.             explicit library names within square brackets.  
  222.             Example: [mylib.lib]  
  223.             SM searches the current path for the library first, 
  224.             then looks in the path defined in your template.sm
  225.             file in the *LIBRARY statement.
  226.  
  227.             Now you can also have SM search for different model 
  228.             libraries of the same name that have model letters
  229.             appended to the end of them (MYLIBS.LIB, MYLIBM.LIB,
  230.             MYLIBL.LIB, etc.). 
  231.  
  232.             In the make file the dependent should be listed like
  233.             this:  [*MYLIB.LIB]  
  234.             Also there should be a *LIBAPPEND_ statement at the 
  235.             beginning of the make file (in this example it would
  236.             be *LIBAPPEND_SML).
  237.  
  238.             If you use -dl+ SM will search for both final-build
  239.             libraries or debugging libraries, depending on how
  240.             -d- or -d+ are set.  If you use -dl- ONLY final-build
  241.             libraries will be searched for, even if you are using 
  242.             the -d+ flag (this is the default).
  243.  
  244. 2/16/92  SM        Major improvement in macro expansion.  Macros may now 
  245.             be used anywhere in a make file, as long as they are
  246.             defined before using them (in the make file, 
  247.             environment, OR command line).  They may even be used
  248.             in another macro definition.  Example:
  249.  
  250.             MACRO1 = ThisVal
  251.             MACRO2 = $(MACRO1)
  252.  
  253.             Macros may NOT be used in statements (except the EPATH
  254.             and OPATH statements).  Also there can not be a macro
  255.             within a macro.  The following is not allowed: 
  256.             $(MYMACRO $(MACTWO))
  257.  
  258. 2/16/92  SM        For library building the name of the library is now
  259.             a macro that follows this format:  $(*LIBNAME).  This
  260.             can be just the filename, or the whole thing including 
  261.             path and extension.  It must be defined before using 
  262.             it. For example:  LIBNAME = MYLIB
  263.  
  264.             In doing this the $(*) macro has been eliminated.  
  265.             (This will only impact on a few beta testers.)
  266.  
  267. 2/14/92  SM        When building a linker response file SM puts the LNM#
  268.             macro definition on the first line of the response
  269.             file instead of passing it to the linker directly.
  270.             Fixed a bug where it was doing both.
  271.  
  272. 2/14/92  SME        When choosing unique file names you can say "NONE"
  273.             for map files and definitions files.  If you do, and 
  274.             save your setup, SME will remember these choices for 
  275.             future sessions.  If you say "NONE" SME does not put
  276.             a map file or def file command in the make file.  It
  277.             is important for you to define your *MN and *DN 
  278.             commands in your template.sm.  For example, in an MSC
  279.             template you would have the two pairs of commands:
  280.  
  281.             *M ||NAME
  282.             *MN |nul.map
  283.             *D ||NAME
  284.             *DN |nul.def
  285.  
  286. 2/14/92  SM        Finished #if directives.
  287.             There are 5 directives in this grouping:  #if, #elseif,
  288.             #else, #error, and #endif.  For each #if there must be 
  289.             an #endif.  If there are #else or #elseif statements as
  290.             part of an #if test you use one #endif for the entire
  291.             test.  Use #error just before the #endif statement to
  292.             check to see if anything was set:  if not it will exit
  293.             with the message you define.  Example:
  294.  
  295.             #if test=1
  296.                 do stuff
  297.             #  elseif test=2
  298.                 do other stuff
  299.             #    elseif test=3
  300.                 do still other stuff
  301.             #      error No Stuff Done!!!
  302.             #endif
  303.  
  304. 2/13/92  SME        SME has a new option to comment the make files it 
  305.             writes.
  306.  
  307. 2/13/92  SME         SME has an option to write explicit response files for 
  308.             the linker as in old versions, or to write the new
  309.             make file format for on-the-fly response file building.
  310.  
  311.             In the build menu "Response Files" is no longer an 
  312.             option.  If the setup screen has been set to build
  313.             them explicitly this will automatically be done when 
  314.             the make file is written.
  315.  
  316. 2/13/92  SM        SM Now builds linker response files on the fly.  A new
  317.             set of flags has been added.  -lr+ (the default) uses
  318.             on-the-fly response file building.  -lr- turns it off
  319.             (linker res files only) so users of earlier versions of
  320.             SM can continue to use their old make files.
  321.  
  322. 2/12/92  SME          SME places the ! statements in the make file for three
  323.             memory models.  Debugging libraries are NOT added by 
  324.             SME.
  325.  
  326. 2/12/92  SM          A series of statements beginning with an exclamation
  327.             point (!) have been added to the make file to prepare
  328.             for linker response file building on-the-fly.
  329.             !E [name] defines the executable name, !M [name] 
  330.             the mapfile name, !D [name] the definitions file name, 
  331.             and a series of !L [name] statements the libraries.
  332.             !LF1 is a final build library for mem model 1, !LD1 is
  333.             its debugging library equivalent.  Where I have shown 
  334.             [name] just use the actual name without brackets.
  335.             example:  !LF1 MYLIBS.LIB
  336.  
  337.             If SM finds final build libs for a memory model, but
  338.             no debugging versions, it will link in the ones it 
  339.             finds if they match the memory model being linked.
  340.  
  341. 2/12/92  SM          Macros can be defined in the SUPERMACRO environmental
  342.             variable, or at the command line.
  343.  
  344.             In the environment separate each macro with a 
  345.             semicolon.  Example:
  346.  
  347.             set SUPERMACRO=Macro1 = 72; Macro2=C:\DIR; Macro3=4
  348.  
  349.             On the command line use the -$ flag.  You can use it
  350.             multiple times as follows:  -$MACRO1=D:\DIR
  351.             Note there are no spaces when using -$
  352.  
  353.             Precedence:  If two or more macro names are the same,
  354.             the command line version takes precedence over the 
  355.             environment version, which takes precedence over the
  356.             version in the make file.
  357.  
  358. 2/11/92  SM, SME    Assigned four new macros.  L1CC is the compiler command
  359.             for language 1, L2CC for language 2, L3CC for language
  360.             3, LNCC for linker or librarian command.  SME now puts
  361.             these in the macro sets and uses them in place of
  362.             the explicit commands in the action blocks.
  363.  
  364. 2/11/92  SM        Added a new series of statements.  #if and #endif
  365.             statements create conditions for doing whatever they
  366.             surround (a statement, an action block, etc.).  #if
  367.             statements can just have a condition (#if dave), or
  368.             you can set a value for the condition (#if dave=2).
  369.  
  370.             To check the conditions you can use the -if flag at
  371.             the command line (you can use it multiple times for 
  372.             checking multiple conditions).  -ifdave  -ifdave=2
  373.             (Note no spaces.)
  374.  
  375.             You can also set the condition check in the make file
  376.             by using the #define statement.  #define dave
  377.             #define dave=2.  (Note no spaces once you get into the 
  378.             definition.)
  379.  
  380.             In this example if you simply define dave with no = 
  381.             sign it is turning on the variable "dave."  This will
  382.             NOT match a "dave=" statement.
  383.  
  384.             If a #define in the make file is duplicated by an -if 
  385.             at the command line, the command line version will take 
  386.             precedence.
  387.  
  388.             For the sake of not reading the whole make file twice,
  389.             (which slows down processing) a directive 
  390.             #endstatements is placed after the statements at the 
  391.             top of the make file, right after *statements (if they
  392.             exist.  If they do not exist it will be advantageous to
  393.             place this directive right at the top to prevent 
  394.             reading any of the make file on the first pass).
  395.  
  396.             #if - #endif pairs may be nested up to 25 levels.  
  397.             However, you may not nest #if - #endif pairs above the
  398.             #endstatements directive with those below it.
  399.  
  400. 2/11/92  SM        Cleaned up command line spaces handling
  401.  
  402. 2/9/92   SME        Changed the way *AA and *AB script statements work.
  403.             Now argument one is the command line.  Keywords can
  404.             be placed in the command line to influence the way
  405.             it is written in the make file.  Keywords allowed
  406.             are NAME (replace keyword with the make file name not
  407.             including the extension), EXTT (replace keyword with 
  408.             the target extension listed in arg 3), EXTD (replace
  409.             keyword with depen ext in arg 4), EXTC (replace keyword
  410.             with the extension to compile in arg 5).
  411.  
  412.             In addition you can place the keywords LAN1, LAN2, or
  413.             LAN3 in the command line to indicate that you want to
  414.             use the macros for language 1, 2 or 3 at that point in
  415.             the command line.
  416.  
  417.             If LAN1, LAN2, or LAN3 are included in the command 
  418.             (arg 0) the arguments in arg 4 and 5 (dependent and
  419.             file to be compiled) are replaced by the values in
  420.             LASTMACS.SM (the macro screen for that language).
  421.  
  422. 2/9/92   SM        Moved *LE function where it belongs, from SME to SM.
  423.  
  424. 2/4/92   SME        Adjusted Language Definitions Screen so it has all the
  425.             same fields as the macros screen.  Now a reset can 
  426.             reset all fields.
  427.  
  428. 2/3/92   SM        Message handling rearranged. -s- suppresses warnings,
  429.             -s+ shows most messages, -sa is verbose.
  430.  
  431. 2/3/92   SM        Memory bugs fixed in SM.EXE. Internal functions cleaned 
  432.             up.  Faster, leaner.
  433.  
  434. 2/1/92   SME        You can use different extensions for your SM files.
  435.             This allows you to use different setups in a single 
  436.             directory, be it global or local.  If the default
  437.             extension "SM" is not used, SME places the *TEMPLATE
  438.             statement in each make (SMF) file.
  439.  
  440. 2/1/92   SM             Use the statement *TEMPLATE xxx within the top 10 lines
  441.             of an SMF file to change the extension of the Template
  442.             file.  This is useful when using several different 
  443.             setups.  ex:  *TEMPLATE MS  (NOTE: do not use the '.')
  444.  
  445. 1/31/92  SM        Fixed small bug: the SM.MML list is now case- 
  446.             independent.
  447.  
  448. 1/31/992 SM        EXE SMFs using libs as dependents must use the 
  449.             *LIBAPPEND statement at the top of the file.
  450.  
  451. 1/30/92  SM        -k- will erase library .BAK files as well as the 
  452.             temporary response file.  -k+ keeps both.
  453.  
  454. 1/30/92  SM        You can use libraries as dependents.  The library name
  455.             must be enclosed in [brackets].  Also *LIBRARY (in
  456.             TEMPLATE.SM) must be set to the drive and/or directory 
  457.             you keep your libraries in.  SM first searches the 
  458.             current directory, then the *LIBRARY directory.
  459.             example:  *LIBRARY |C:\C\LIB|
  460.  
  461. 1/30/92  SM        Using compiler response files is now possible.  A
  462.             statement must be placed at the top of the SMF that
  463.             says:  *COMPILER_RESPONSE_n  (where 'n' is language
  464.             1, 2, or 3).  A new command group must be defined in
  465.             TEMPLATE.SM for compiler response files.
  466.  
  467.             The *CRFC command is placed between *COMPON and 
  468.             *COMPOFF.  If a response file is to be used it is
  469.             set up just like the *C command:
  470.                 |before|name|ext|after|all|
  471.  
  472.             example (just places the name of the file on a line):
  473.                 *CRFC ||NAME||||
  474.             
  475.             If the keyword "COMPLINE" is used in the first slot,
  476.             as many code files as possible will be placed on the
  477.             command line (assumes a line of 126 chars or less).
  478.             This supports compilers (such as MSC6) that allow 
  479.             multiple file processing, but don't support response
  480.             files to take advantage of faster processing.
  481.  
  482.             *COMPON
  483.             *CRFC |COMPLINE|
  484.             *COMPMPOFF
  485.  
  486.  
  487. 1/29/92  SME        Fixed Relative paths.  When using the current directory
  488.             is displayed as "CURRENT," and the true name is 
  489.             displayed at the bottom of the Directories Window.
  490.             Subdirectories follow below "CURRENT."
  491.  
  492. 1/28/92  SME        Adjustment to setup screen.  User can now choose which
  493.             file name choice screen to be presented with when 
  494.             leaving Pick
  495.  
  496. 1/28/92  SME        SME can be set to automatically find headers and
  497.             put them on the dependents line in an SMF.
  498.  
  499. 1/28/92  SM        When SME is not available -h shows list of flags
  500.  
  501. 1/28/92  SM            -m* and -ma are now working correctly.  Many thanks,
  502.             Chip!
  503.  
  504. 1/27/92  SM        -ea flag erases objs after a build
  505.  
  506. 1/26/92  SM        Tremendous speed increase.  Thanks, Chip!
  507.  
  508. 1/24/92  SM        Reworking of command flags to make them more memorable.
  509.  
  510. 1/23/92  SM        Changed <bracketed> search.  Now it searches the real
  511.             current directory before searching the *INCLUDE path
  512.             (instead of the "current" directory of the source code 
  513.             file.
  514.  
  515. 1/23/92  SME        Edit Old File now can read nearly 500 files from a make 
  516.             file.  If old file had no EPATH or OPATH, they won't be
  517.             included, respectively, when rebuilding the make file.
  518.             Limited by memory.
  519.  
  520. 1/23/92  SME        Fixed bugs in file reading: occasionally a file
  521.             would appear twice, or a file from a directory already
  522.             viewed would appear in an empty directory.  Both bugs 
  523.             fixed.
  524.  
  525. 1/23/92  SME        "Missing Header Files" message appears only once now.
  526.  
  527. 1/23/92  SM        Minor bug in -so fixed
  528.  
  529. 1/23/92  SME        Bug fixed in directory reading functions (Pick)
  530.  
  531. 1/22/92  SME        Pressing Escape in the save window returns you to the
  532.             main menu instead of exiting the program.
  533.  
  534. 1/22/92  SM        Toggles have been replaced by pairs of explicit flags.  
  535.             Changes are:
  536.  
  537.             -i  stop build on error code
  538.             -io ignore compiler error codes
  539.             -k  keep lib res file
  540.             -ko Don't keep lib res files
  541.             -s  Show all messages
  542.             -so All but Error messages Off (suppress)
  543.             -x  EMS Memory Swapping used
  544.             -xo Swapping not used (regular spawn)
  545.  
  546.             The -m flag has been removed, since the same effect
  547.             can now be achieved by removing the *EPATH command 
  548.             from your make files.
  549.  
  550. 1/22/92  SM         The settings chart has been replaced by English text
  551.             describing settings.
  552.  
  553. 1/22/92  SME        SME can now be set to find multiple dependencies.
  554.             In the setup screen "N" means do not look for multiple
  555.             dependencies.  "Y" means look, but only one level deep.
  556.             "M" means look through all levels.  If a header file 
  557.             isn't found it is not written to the make file.  A file
  558.             called MISSING.SM lists all files not found, and the
  559.             file that calls them.
  560.  
  561. 1/21/92  SM        SM gets the "current path" from the first dependent,
  562.             and, if subsequent dependents are in <brackets> it
  563.             first looks in the "current path," then in the 
  564.             *INCLUDE path.
  565.  
  566. 1/21/92  SME        SME will search for header file dependents, adding up
  567.             to 50 dependents on a line of up to 750 characters
  568.  
  569. 1/20/92  SM        Fixed small bug in *EPATH moving of executables.
  570.  
  571. 1/19/92  SM        50 dependents allowed if they fit onto a 750 character
  572.             line.  *INCLUDE script statement added to set the
  573.             default directory for header files.
  574.  
  575. 1/19/92  SM        Working copy of library is copied to EPATH erased
  576.             (if applicable to a make file).
  577.  
  578. 1/19/92  SM        -s flag now suppresses all warning or informational
  579.             messages including file names, but not error messages
  580.  
  581. 1/19/92  SM            Major fixes to EPATH functionality, expecially when 
  582.             moving libraries.
  583.  
  584. 1/17/92  SM SME        Fixed major confusion in Global/Local functions.  Local 
  585.             setups work OK.
  586.  
  587. 1/14/92  SM        When set with -d (debug) flag, SM will append a 'D'
  588.             to library names to differentiate between regular and 
  589.             debugging libraries.  Example:  MYLIBSD is the 
  590.             debugging library version of MYLIBS (both are small 
  591.             model).
  592.  
  593. 1/14/92  SM        SM is no longer dependent on SUPER.INI.
  594.  
  595.             New Flags Added:
  596.  
  597.             -g  Use super.ini's setting for global or local
  598.                 If it can't find super.ini, it sets SM for global
  599.             -gg Explicitly set to use global setup
  600.             -gl Explicitly set to use local setup
  601.  
  602.             On the chart GL reads 0 for -g setting, 1 for -gl, 
  603.             and 2 for -gg.  (ues -l or -lo to see chart)
  604.  
  605. 1/13/92  SM        Added some new keywords for library commands only.
  606.             All these commands must appear in the 5th part
  607.             of the command to work properly:
  608.  
  609.             ALLBUTN makes that command work on NEW libs only
  610.             NEWNLY makes that command work on NEW libs only
  611.             ALLBUTO makes that command work on OLD libs only
  612.             OLDNLY makes that command work on OLD libs only
  613.  
  614.             Use NEWNLY or OLDNLY when you don't want ALLBUT
  615.             to be true.  ALLBUTN and ALLBUTO both work the same
  616.             way ALLBUT does.  ALLBUT still works for old and new
  617.             libraries.
  618.  
  619. 1/13/92  SM           Add -po  To turn off path stripping in the library
  620.             response file (This is the normal setting)
  621.  
  622. 1/12/92  SM         Add -rt flag.  Sets toggles to "reset" values for
  623.             this use only, forcing all flags to be set explicitly
  624.             (if not set they remain at reset value).  Flags
  625.             called with -rt are not saved.
  626.  
  627. 1/12/92  SM         Add -p  strips paths from obj names in lib response
  628.             file when generated by SM.EXE
  629.  
  630.             Add -pr strips all but relative path from obj names
  631.             in lib res file generated by SM.EXE
  632.  
  633. 1/12/92  SM             Add -lo (look only at flags chart) flag.  This looks
  634.             at the flag chart without showing how a build would
  635.             have to go.
  636.  
  637. 1/12/92  SM             Fixed spawn bug.
  638.  
  639. 1/11/92  SM        Enabled $(*) in SM so libappend can happen if lib name
  640.             appears in command line
  641.  
  642. 1/11/92  SME        Fixed non-obj lib dependent feature to use OBJs for
  643.             TNAMES, while using the library for all targets.
  644.  
  645. 1/7/92   SETUP         Fixes to installation parameters in SUPER.INI
  646.  
  647. 1/6/92   SETUP        Completely new setup program written with a rewrite
  648.             of the viewer, and Macro and Script writer functions.
  649.  
  650. 12/27/91 SME        Minor menu and setup fixes
  651.  
  652. 12/26/91 SM SME        Ability to use code files instead of OBJ files
  653.             for library dependents added, and works.
  654.  
  655. 12/22/91 SM        *FXL added for determining a library extension.
  656.             *FXO added for determining an object file extension.
  657.             (Some compilers such as Mix do not use LIB and OBJ.)
  658.  
  659. 12/21/91 SME        When building Libraries SME only builds the make file,
  660.             leaving out the response files.  It places the
  661.             *BUILD_LIB_RES statement at the top of the make file
  662.             to enable on-the-fly response file building.
  663.  
  664. 12/21/91 SM             On the fly library response file building is finished.
  665.             It is enabled by the statement *BUILD_LIB_RES at the
  666.             top of a make file.  When making the same library in
  667.             more than one model it is important to use the 
  668.                         *LIBAPPEND statement (see below).
  669.  
  670. 12/18/91 SM        Support for two more memory models added.  This is
  671.             limited to use for libraries and will not be supported
  672.             in SME.  To use the statement *LIBAPPEND_SMLCH must be 
  673.             at the top of the make file, where SMLCH can be any
  674.             arrangement of letters to append to a library name.
  675.             The above would translate to the following library 
  676.             names: MYLIBS MYLIBM MYLIBL MYLIBC MYLIBH (small, 
  677.             medium, large, compact, huge).  
  678.  
  679.             If SME is used to write the make file you should 
  680.             manually add the last two letters (SME will put in the
  681.             first three).  In addition the macros LxM4 and/or LxM5 
  682.             should be manually added to the make file.
  683.  
  684. 12/17/91 SM        Improve on how object files are erased (-e), plus
  685.             add -tr (total rebuild, all memory models) feature
  686.             for building libraries in all available memory models
  687.  
  688. 12/17/91 SME        Only write *LIBAPPEND statement to make file if SME
  689.             is set to build libraries
  690.  
  691. 12/16/91 SME, SM        Fixes to path handling. SM and SME first look for
  692.             SUPERFILES.  If not set and DOS is v3 and above they
  693.             look for their files in the directory they are in.  If
  694.             still not found (or DOS version is less than 3.0) they 
  695.             show a message telling you to set SUPERFILES.
  696.  
  697. 12/13/91 SME, SM        Improved Library handling.  SME now makes three 
  698.              response files for libraries as it does for 
  699.             executables.  You can set SME to add the first letter
  700.             of the library title ('S' from "SMALL", 'L' from 
  701.             "LARGE," and so on).  If you do it puts a keyword at
  702.             the top of the makefile followed by an underscore, and 
  703.             the three letters (one for each memory model).  If SM 
  704.             finds this it adds the letters as needed.
  705.  
  706.             This improvement allows you to control memory models 
  707.             for libraries at the command line with the -1, -2, -3
  708.             flags (as you can with executables).
  709.  
  710. 12/11/91 SME            Number of action blocks allowed is now limited only by 
  711.             memory.  The window that lets you pick a default file 
  712.             name will show the first 200 files.  You can still edit 
  713.             old make files with up to 94 action blocks using SME.
  714.  
  715. 12/10/91 SME            Support for variable screen sizes
  716.  
  717.             Fixed order of "pick" screens in new interface.
  718.  
  719.  
  720. 12/8/91  SME,SM        More work on script processor:  separate control over
  721.             languages (order of macros, order of commands)
  722.  
  723. 11/25/91 SME,SM        Script work:  Update to manual
  724.  
  725. 11/16/91 SME        Script functions - link and lib command groups 
  726.             implemented
  727.  
  728.  
  729. 11/14/91 SME        Script Processor Written / Memory Structures Working
  730.             S-M's configuration is now controlled by a script in
  731.             the file TEMPLATE.SM.  Script commands allow you to 
  732.             mix and match compilers, assemblers, linkers, etc., 
  733.             as well as determine how the make and response files 
  734.             will be written.
  735.  
  736.  
  737. 11/13/91 SME        New Interface Work:
  738.             Added little menu for name choosing
  739.             Much more intelligent file name handling.
  740.             Fixes to Local/Global functionality  (only the help
  741.             bar's color can be changed in a local setup).
  742.  
  743. 11/7/91  SME        New Interface Work:
  744.             Macros Functions Finished
  745.  
  746. 11/6/91  SME        New Interface Work:
  747.             Setup Functions Done
  748.             Make Menu Functions
  749.  
  750. 11/4/91     SME        Begin work on New Interface
  751.             Information Functions
  752.             Setup and Spawn Functions
  753.             Color change fix
  754.             Fixed File Setup
  755.             Menus Updated, Help Added
  756.  
  757. Version 2.11:        
  758. ===============================================================================
  759.  
  760. 10/3/91   SHM           Fix manual reading with mouse.
  761.  
  762. 10/3/91   SHM           Allow exiting in help and manual modes by pressing 
  763.             alt-x, or esc
  764.  
  765. 10/3/91   SM            Fix bug in how SM gets errors from compilers (this
  766.                         bug was in the 2.11 alpha, not in earlier versions).
  767.  
  768. 10/3/91   SME,SMH       Fix manual prinitng functions, reindex manual.
  769.  
  770. 10/1/91   SM            Add -x flag for toggling between swapping (which
  771.                         requires 2K for SM) and spawning (the old way, which 
  772.                         takes  about 70K for SM.
  773.  
  774. 10/1/91   SM            Make SM smaller (about 3K smaller than 2.20)
  775.  
  776. 09/29/91  SM            Fix "can't find" message - used to say it couldn't
  777.                         find help files.  Now it tells what file it can't 
  778.                         find.
  779.  
  780. 09/28/9   SM            Add swapping to memory.
  781.  
  782. Version 2.00:        
  783. ===============================================================================
  784.  
  785. 05/27/91  SME        Fix "Edit New File" problem
  786.  
  787. 05/24/91  SME        Clipper support added.
  788.  
  789. 05/21/91  SME SMSET     New feature: If "LIBS Unique Name?" is set
  790.             to "Y" in SMSET, SME will ALWAYS ask for
  791.             a unique library name when you are building
  792.             libraries.  All names are set to this unique
  793.             name so you don't have to type it for each
  794.             type of file that needs a name (response files,
  795.             PC-lint, Clear+, etc.)
  796.  
  797. 05/18/91  SME           Minor bug fix:  In `Make' `Macros' resetting
  798.                         library macro screen in local mode was taking
  799.                         default info from the global lang def file.
  800.  
  801. 05/16/91  SME        Aztec Manx C compiler support added.
  802.  
  803. 05/16/91  SME        Language Definition Files are Local or Global.
  804.             If local files don't exist they can be copied
  805.             from the global ones.  Macro functions won't
  806.             work unless all 5 Lang Def Files plus the
  807.             LASTMACS file are present.  (You can also
  808.             copy a separate set from `distribution disk 2'
  809.             to a local directory before running SME in
  810.             that directory.  Always remember to
  811.             <r>eset each macro screen in <m>ake menu
  812.             <m>acros after new lang def files are
  813.             installed.
  814.  
  815. 05/15/91  SM        Minor fix: shareware message doesn't appear
  816.             on registered versions when .SMF file can't
  817.             be found.
  818.  
  819. 05/15/91  SME        SME saves list of installed directories to save 
  820.             the time it takes read them.  If you want SME
  821.             to re-confirm what directoriess you have you press 
  822.             Ctrl-r while in the `Directories' window. The 
  823.             files are named after the drive, ie. A, B, C, etc.
  824.  
  825. 05/15/91  SME        Minor bug fix: Dir Window Page Numbering
  826.  
  827. 05/14/91  INSTALL    Revise Default B&W Colors to just black and
  828.             white (no bold)
  829.  
  830. 05/14/91  SMSET     Improve color change example screens
  831.  
  832. 05/14/91  SME        Maximum Directories SME can read raised from
  833.             100 to 248.  Trap added to prevent overflow.
  834.  
  835. 05/14/91  SME        Minor bug fixed: SME now detects 3 1/2" HD floppies.
  836.  
  837. 05/13/91  SME        SME saves list of installed drives to save the time
  838.             it takes to see if they are there.  If you want SME
  839.             to re-confirm what drives you have you press Ctrl-r
  840.             while in the `Drives' window.  The file is
  841.             named FILES.
  842.  
  843. 05/11/91  SME           SME now detects floppies beyond drive B.  Also knows
  844.                         if A is installed, but B isn't.  (`Pick').  Floppy
  845.             drives with no disk in them are NOT used.
  846.  
  847. 05/10/91  SME           Added `Reading Directories' in `Pick'
  848.  
  849. 05/08/91  SME           If SME is set to view 1 directory only when
  850.                         picking files, and no directory is specified,
  851.                         SME will view the current directory.
  852.  
  853. 05/06/91  SME, SMSET,   Added support for 43 and 50 line mode
  854.           SMH
  855.  
  856. GENERAL   ALL        Some general changes have been made over the course
  857.                         of three months:  A much improved user interface and
  858.                         a completely rewritten user manual.
  859.  
  860. 04/29/91  INSTALL       New section converts from version 1 to version 2
  861.  
  862. 04/28/91  SME, SMH      Rewrite manual show and print functions
  863.  
  864. 04/28/91  SME           Alphabetize directories while finding them
  865.  
  866. 04/25/91  INSTALL       Install now knows whether it is being run from a
  867.                         two disk set (5 1/4") or a one disk set (3 1/2")
  868.  
  869. 04/24/91  SMAK,SMUTIL   The self-extracting file containing program and doc
  870.                         files (SMAK.EXE) has been split into two files.  SMAK
  871.                         now contains program files only and remains on disk 1.
  872.                         SMUTIL now contains docs, help files, and the sample
  873.                         program.
  874.  
  875. 04/24/91  SME           Change the way marking occurs.  Now SME remembers
  876.                         what has been marked and shows plusses even if you
  877.                         leave and return to a directory.  SME no longer allows
  878.                         you to mark a source code file twice for one make file.
  879.                         SME DOES allow two identically named source code files
  880.                         if they are in separate directories.
  881.  
  882. 04/23/91  SME,SMSET     Backup option added for make files, response files,
  883.                         PClint and Clear+ files, etc.
  884.  
  885. 04/22/91  SME           Number of action blocks allowed raised form 75 to 95.
  886.                         Size of make file buffer enlarged to accomodate more
  887.                         lines in a make file.
  888.  
  889. 04/21/91  SME,SMH,      Mouse liberated to go anywhere on the screen.  Exit
  890.           SMSET         boxes added at the top left corner of each menu to
  891.                         use the mouse to back out of menus.  Epsilon symbol
  892.                         (old mouse exit) deleted.
  893.  
  894. 04/21/91  SM            -er command line flag added to allow total rebuild
  895.                         in one step (other flags are recognized at the same 
  896.                         time).
  897.  
  898. 04/20/91  SM,SME,       SUPER-MAINT can now be set to use local setups or the
  899.           SMH,SMSET     global setup.  Using local setups allows different 
  900.                         setups (including libraries) by setting a flag in
  901.                         SMSET, then building a local super.ini file in the
  902.                         default directory.  SME changed so a 'G' appears in
  903.                         the upper left when set for Global setups, and an 'L'
  904.                         appears for Local ones.
  905.  
  906. 04/16/91  SM            SM remembers which memory model you last compiled
  907.                         a program in.  This way if you are compiling several
  908.                         programs in different models you do not have to 
  909.                         explicitly tell SM which model to use for each one
  910.                         unless you want to change the model
  911.  
  912. 04/15/91  SM            -q changed and -qb flags added.  -q calls SMSET in 
  913.                         Advanced mode, -qb calls it in beginner (novice)
  914.                         mode.  'q' still stands for 'quick setup.'
  915.  
  916. 04/13/91  SM            SM is considerably smaller (about 1/3 the size of 
  917.                         version 1)
  918.  
  919. 03/26/91  SMSET         New setup program written.  Setup functions taken
  920.                         out of SM and SME
  921.  
  922. 03/22/91  SME           When SME shells to DOS, or calls your text editor or
  923.                         SMSET it now swaps itself to EMS if available, or a 
  924.                         temporary file if EMS isn't available.  This allows
  925.                         you to use bigger text editors (such as Brief) with
  926.                         SUPER-MAINT.
  927.  
  928. 03/18/91  ALL           The way SUPER-MAINT deals with unregistered and 
  929.                         registered versions has been changed.  The shareware
  930.                         reminder screen in SME can print an order form, or be 
  931.                         exited with no time delay.  A daily countdown has been
  932.                         added (informational- does not affect use of the 
  933.                         program).  Time delays removed from all reminder
  934.                         screens.
  935.  
  936. Version 1.20:
  937. ===============================================================================
  938.  
  939. 11/07/90        Add support for Demonstration with Bogus
  940.             Compiler, Assembler, Linker, Librarian,
  941.             and Debugger
  942.  
  943. 11/08/90        Add support for Mix Power C (assembler,
  944.             PCL and MERGE).
  945.  
  946. Version 1.10:
  947. ===============================================================================
  948.  
  949. 11/01/90  INST        Adjust INSTALL.EXE for registered version to
  950.             use two disks instead of one
  951. 11/01/90  INST        Add EmmaSoft Viewer to installation program.
  952. 10/12/90        Complete name change from "SUPER MAKE" to
  953.             "Programmer's SUPER-MAINT"
  954. 10/10/90  SM,SME,INST    Enlarge size of library names in
  955.             initialization structure.
  956. 10/10/90  SM        Added -m flag to explicitly disable the 
  957.             copy/delete .EXE files function (reported
  958.             to be kicking in unwanted on some systems
  959.             when no directory is explicitly set for 
  960.             keeping executable files in.
  961. 07/21/90  SM        Bug fix: L2CO was taking the value of the
  962.             L1CO macro
  963.  
  964.